A codec (coder/decoder) is an integrated circuit or other electronic circuitry combining the circuits needed to convert digital signals into analog signals and to convert analog signals into digital signals. Audio codecs are used in computers, for example, on modem (modulator/demodulator) and sound cards to convert digital signals that can be read and stored by the computer into analog signals that can be transmitted over telephone wires or output to speakers for sound. Codecs on these devices also convert incoming signals from telephone wires or input sound signals, into a digital format that can be read, understood, and stored by the computer.
Enumeration of codecs is described by the Audio Codec '97 Specification, version 2.3 (“AC '97 Specification”), published by Intel Corporation, Santa Clara, Calif. The AC '97 Specification defines a high-quality audio architecture and advanced the migration toward a completely digital audio system, while maintaining support for analog audio sources and analog interconnect for backwards compatibility. A controller and one or more codecs, connected by a digital serial link, processes audio and modem signals (e.g., perform digital/analog conversions (DAC) and analog/digital conversions (ADC)).
As defined by the AC'97 Link specification, a codec attached to a link must be assigned an address using pins on the codec. This “hard” or “hard-wired” enumeration leads to many ease of use and configuration issues, as the methods for making sure that all codecs on the link are unique require platform design predetermination.